/// slice and array study 数组操作


pub fn ope_array() {
    //创建数组
    let mut my_array: [i32; 5] = [1, 2, 3, 4, 5];
    //访问数组元素:数组索引从0开始
    let third_element = my_array[2];
    println!("{}", third_element);

    // 遍历数组
    for element in my_array.iter() {
        println!("{}", element);
    }
    //切片数组:创建一个新的数组切片
    let my_slice = &my_array[0..3];//其中包含从索引0到2的元素。
    //修改数组
    my_array[2] = 6;
    println!("{:?}", my_array);
}
/*
x..y 表示 [x, y) 的数学含义
    ..y 等价于 0..y
    x.. 等价于位置 x 到数据结束
    .. 等价于位置 0 到结束
 */
pub fn ope_str_slice() {
    let s = String::from("broadcast");
    let part1 = &s[0..5];
    let part2 = &s[5..9];
    println!("{}={}+{}", s, part1, part2);

    //快速的办法可以将 String 转换成 &str：
    let s1 = String::from("hello");
    let s2 = &s1[..];
}